IUMagPString
IUMagPString Compare unformatted text using specified 'itl2'
#include <Packages.h> International Utilities Package
short IUMagPString(aPtr, bPtr, aLen, bLen, itl2Handle);
const void *aPtr ; addresses of unformatted ...
const void *bPtr; ... text to compare
short aLen ; length of aPtr, in bytes
short bLen ; length of bPtr, in bytes
Handle itl2Handle; handle to 'itl2' resource
returns -1 if (ab)
IUMagPString compares two strings defined by a pointer and character
length for primary and secondary ordering and determines whether one is
greater than, less than, or equal to another and permits explicit specification
of the 'itl2' resource to be used for string comparison It takes into
consideration such international characteristics as diacritical marks and
ligatures. It DOES differentiate between upper- and lowercase.
aPtr and . . .
bPtr are the addresses of unformatted text to be compared.
aLen is the length, in bytes, of the text pointed to by aPtr
bLen is the length, in bytes, of the text pointed to by bPtr
itl2Handle is a handle to an 'itl2' resource. If this handle is NIL, the routine
behaves just like IUMagString which does not permit explicit
specification of the handle.
Returns: a signed integer; it describes the collating relationship of the text
pointed to by aPtr and the text pointed to by bPtr It is one of:
-1 aPtr is less than bPtr
0 aPtr and bPtr are equal
1 aPtris greater than bPtr

Notes: The return code is the same as used by the familiar C strcmp function and
as with strcmp, a short string is always seen as less than a long string.
IUMagPString may be overkill for your application, but should be used
for international compatibility. It is less efficient than a direct ASCII sort,
as it has to lookup the "collating weight" of each character of each string.
To compare pascal-style length-prefixed strings, use IUCompString. or
IUCompPString. For case-insensitive equality testing (as when
matching file names), use IUEqualString, IUEqualPString or